package lua;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.ByteBuf;
import lion.netty4.message.RequestMessageRaw;
import lion.netty4.message.SendToMessageRaw;
public final class LuaMessageQzmj{
	public static final class C2SQzmjCreateRoom{
		public short round_index;
		public byte sanjindao;
		public byte eat_card;
		public byte hua_card;
		public byte prevent_cheat;
		public byte gold_coin;
		public int gold_rate;
		public byte cost_type;
		public byte youjin;
		public static final int id = 1601;

		public static C2SQzmjCreateRoom parse(RequestMessageRaw request){
			C2SQzmjCreateRoom retObj = new C2SQzmjCreateRoom();
			try{
			retObj.round_index=request.readShort();
			retObj.sanjindao=request.readByte();
			retObj.eat_card=request.readByte();
			retObj.hua_card=request.readByte();
			retObj.prevent_cheat=request.readByte();
			retObj.gold_coin=request.readByte();
			retObj.gold_rate=request.readInt();
			retObj.cost_type=request.readByte();
			retObj.youjin=request.readByte();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjCreateRoom{
		public String room_id;
		public short round_count;
		public byte sanjindao;
		public byte eat_card;
		public byte hua_card;
		public byte prevent_cheat;
		public int gold_rate;
		public byte cost_type;
		public byte youjin;
		public String ip;
		public S2CQzmjCreateRoom(String proom_id,short pround_count,byte pcost_type,String pip,byte psanjindao,byte peat_card,byte phua_card,byte pprevent_cheat,byte pyoujin,int pgold_rate){
			this.room_id=proom_id;
			this.round_count=pround_count;
			this.cost_type=pcost_type;
			this.ip=pip;
			this.sanjindao=psanjindao;
			this.eat_card=peat_card;
			this.hua_card=phua_card;
			this.prevent_cheat=pprevent_cheat;
			this.youjin=pyoujin;
			this.gold_rate=pgold_rate;
		}
		public S2CQzmjCreateRoom(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1602);
			retMsg.writeString(this.room_id);
			retMsg.writeShort(this.round_count);
			retMsg.writeByte(this.sanjindao);
			retMsg.writeByte(this.eat_card);
			retMsg.writeByte(this.hua_card);
			retMsg.writeByte(this.prevent_cheat);
			retMsg.writeInt(this.gold_rate);
			retMsg.writeByte(this.cost_type);
			retMsg.writeByte(this.youjin);
			retMsg.writeString(this.ip);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjJoinRoom{
		public String room_id;
		public static final int id = 1603;

		public static C2SQzmjJoinRoom parse(RequestMessageRaw request){
			C2SQzmjJoinRoom retObj = new C2SQzmjJoinRoom();
			try{
			retObj.room_id=request.readString();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjJoinRoom{
		public String room_id;
		public short round_count;
		public QzmjMemberInfo[] members;
		public byte sanjindao;
		public byte eat_card;
		public byte hua_card;
		public byte prevent_cheat;
		public int gold_rate;
		public byte cost_type;
		public byte[] ready;
		public byte youjin;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1604);
			retMsg.writeString(this.room_id);
			retMsg.writeShort(this.round_count);
			if(this.members == null || this.members.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.members.length);
				for(int i=0;i<this.members.length;i++){
					retMsg.writeInt(this.members[i].player_id);
					retMsg.writeString(this.members[i].name);
					retMsg.writeShort(this.members[i].sex);
					retMsg.writeString(this.members[i].headimg);
					retMsg.writeInt(this.members[i].level);
					retMsg.writeInt(this.members[i].jindou);
					retMsg.writeString(this.members[i].ip);
				}
			}
			retMsg.writeByte(this.sanjindao);
			retMsg.writeByte(this.eat_card);
			retMsg.writeByte(this.hua_card);
			retMsg.writeByte(this.prevent_cheat);
			retMsg.writeInt(this.gold_rate);
			retMsg.writeByte(this.cost_type);
			if(this.ready == null || this.ready.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.ready.length);
				for(int i=0;i<this.ready.length;i++){
			retMsg.writeByte(this.ready[i]);
				}
			}
			retMsg.writeByte(this.youjin);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjPlayerJoin{
		public short seat_index;
		public QzmjMemberInfo member_info;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1606);
			retMsg.writeShort(this.seat_index);
			if(this.member_info == null){
				retMsg.writeBool(false);
			}else{
				retMsg.writeBool(true);
					retMsg.writeInt(this.member_info.player_id);
					retMsg.writeString(this.member_info.name);
					retMsg.writeShort(this.member_info.sex);
					retMsg.writeString(this.member_info.headimg);
					retMsg.writeInt(this.member_info.level);
					retMsg.writeInt(this.member_info.jindou);
					retMsg.writeString(this.member_info.ip);
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjDismissRoom{
		public static final int id = 1607;

		public static C2SQzmjDismissRoom parse(RequestMessageRaw request){
			C2SQzmjDismissRoom retObj = new C2SQzmjDismissRoom();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjDismissRoom{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1608);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjDismissRoom{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1610);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class QzmjMemberInfo{
		public int player_id;
		public String name;
		public short sex;
		public String headimg;
		public int level;
		public int jindou;
		public String ip;
		public QzmjMemberInfo(int pplayer_id,String pheadimg,int plevel,short psex,int pjindou,String pip,String pname){
			this.player_id=pplayer_id;
			this.headimg=pheadimg;
			this.level=plevel;
			this.sex=psex;
			this.jindou=pjindou;
			this.ip=pip;
			this.name=pname;
		}
		public QzmjMemberInfo(){}
	}
	public static final class C2SQzmjForceDismisroom{
		public static final int id = 1611;

		public static C2SQzmjForceDismisroom parse(RequestMessageRaw request){
			C2SQzmjForceDismisroom retObj = new C2SQzmjForceDismisroom();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjForceDismisroom{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1612);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjForceDismissRoom{
		public byte player_index;
		public PushQzmjForceDismissRoom(byte pplayer_index){
			this.player_index=pplayer_index;
		}
		public PushQzmjForceDismissRoom(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1614);
			retMsg.writeByte(this.player_index);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjJoinRoomCheck{
		public String room_id;
		public static final int id = 1615;

		public static C2SQzmjJoinRoomCheck parse(RequestMessageRaw request){
			C2SQzmjJoinRoomCheck retObj = new C2SQzmjJoinRoomCheck();
			try{
			retObj.room_id=request.readString();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjJoinRoomCheck{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1616);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjConnectRoom{
		public long sessionId;
		public static final int id = 1617;

		public static C2SQzmjConnectRoom parse(RequestMessageRaw request){
			C2SQzmjConnectRoom retObj = new C2SQzmjConnectRoom();
			try{
			retObj.sessionId=request.readLong();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjConnectRoom{
		public int is_success;
		public S2CQzmjConnectRoom(int pis_success){
			this.is_success=pis_success;
		}
		public S2CQzmjConnectRoom(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1618);
			retMsg.writeInt(this.is_success);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjGameStart{
		public String room_server_host;
		public int room_server_port;
		public short[] Shaizi_num;
		public byte[] cards;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1620);
			retMsg.writeString(this.room_server_host);
			retMsg.writeInt(this.room_server_port);
			if(this.Shaizi_num == null || this.Shaizi_num.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.Shaizi_num.length);
				for(int i=0;i<this.Shaizi_num.length;i++){
			retMsg.writeShort(this.Shaizi_num[i]);
				}
			}
			if(this.cards == null || this.cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.cards.length);
				for(int i=0;i<this.cards.length;i++){
			retMsg.writeByte(this.cards[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjYaoshaizi{
		public short[] Shaizi_num;
		public byte[] cards;
		public byte card;
		public QzmjHuaPai[] huapai;
		public byte[] god_card;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1622);
			if(this.Shaizi_num == null || this.Shaizi_num.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.Shaizi_num.length);
				for(int i=0;i<this.Shaizi_num.length;i++){
			retMsg.writeShort(this.Shaizi_num[i]);
				}
			}
			if(this.cards == null || this.cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.cards.length);
				for(int i=0;i<this.cards.length;i++){
			retMsg.writeByte(this.cards[i]);
				}
			}
			retMsg.writeByte(this.card);
			if(this.huapai == null || this.huapai.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapai.length);
				for(int i=0;i<this.huapai.length;i++){
					if(this.huapai[i].cards == null || this.huapai[i].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapai[i].cards.length);
				for(int cards_idx=0;cards_idx<this.huapai[i].cards.length;cards_idx++){
			retMsg.writeByte(this.huapai[i].cards[cards_idx]);
				}
			}
				}
			}
			if(this.god_card == null || this.god_card.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.god_card.length);
				for(int i=0;i<this.god_card.length;i++){
			retMsg.writeByte(this.god_card[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class QzmjHuaPai{
		public byte[] cards;
	}
	public static final class PushQzmjUserAction{
		public byte action;
		public byte out_card;
		public PushQzmjUserAction(byte pout_card,byte paction){
			this.out_card=pout_card;
			this.action=paction;
		}
		public PushQzmjUserAction(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1624);
			retMsg.writeByte(this.action);
			retMsg.writeByte(this.out_card);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjChupai{
		public byte pai;
		public static final int id = 1625;

		public static C2SQzmjChupai parse(RequestMessageRaw request){
			C2SQzmjChupai retObj = new C2SQzmjChupai();
			try{
			retObj.pai=request.readByte();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjChupai{
		public short is_success;
		public short is_glod;
		public S2CQzmjChupai(short pis_glod,short pis_success){
			this.is_glod=pis_glod;
			this.is_success=pis_success;
		}
		public S2CQzmjChupai(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1626);
			retMsg.writeShort(this.is_success);
			retMsg.writeShort(this.is_glod);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjChupai{
		public short chupai_player_index;
		public byte pai;
		public PushQzmjChupai(short pchupai_player_index,byte ppai){
			this.chupai_player_index=pchupai_player_index;
			this.pai=ppai;
		}
		public PushQzmjChupai(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1628);
			retMsg.writeShort(this.chupai_player_index);
			retMsg.writeByte(this.pai);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjGameOver{
		public byte winner_index;
		public byte card_eye;
		public short[] socre;
		public QzmjPlayerCard[] Cards;
		public byte Hu_type;
		public AnalyseItem analyseitem;
		public QzmjHuaPai[] huapai;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1630);
			retMsg.writeByte(this.winner_index);
			retMsg.writeByte(this.card_eye);
			if(this.socre == null || this.socre.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.socre.length);
				for(int i=0;i<this.socre.length;i++){
			retMsg.writeShort(this.socre[i]);
				}
			}
			if(this.Cards == null || this.Cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.Cards.length);
				for(int i=0;i<this.Cards.length;i++){
					if(this.Cards[i].cards == null || this.Cards[i].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.Cards[i].cards.length);
				for(int cards_idx=0;cards_idx<this.Cards[i].cards.length;cards_idx++){
			retMsg.writeByte(this.Cards[i].cards[cards_idx]);
				}
			}
				}
			}
			retMsg.writeByte(this.Hu_type);
			if(this.analyseitem == null){
				retMsg.writeBool(false);
			}else{
				retMsg.writeBool(true);
					retMsg.writeByte(this.analyseitem.cbCardEye);
					retMsg.writeByte(this.analyseitem.bMagicEye);
					if(this.analyseitem.cbWeaveKind == null || this.analyseitem.cbWeaveKind.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.analyseitem.cbWeaveKind.length);
				for(int cbWeaveKind_idx=0;cbWeaveKind_idx<this.analyseitem.cbWeaveKind.length;cbWeaveKind_idx++){
			retMsg.writeByte(this.analyseitem.cbWeaveKind[cbWeaveKind_idx]);
				}
			}
					if(this.analyseitem.cbCenterCard == null || this.analyseitem.cbCenterCard.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.analyseitem.cbCenterCard.length);
				for(int cbCenterCard_idx=0;cbCenterCard_idx<this.analyseitem.cbCenterCard.length;cbCenterCard_idx++){
			retMsg.writeByte(this.analyseitem.cbCenterCard[cbCenterCard_idx]);
				}
			}
					if(this.analyseitem.cbCardData == null || this.analyseitem.cbCardData.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.analyseitem.cbCardData.length);
				for(int cbCardData_idx=0;cbCardData_idx<this.analyseitem.cbCardData.length;cbCardData_idx++){
					if(this.analyseitem.cbCardData[cbCardData_idx].cards == null || this.analyseitem.cbCardData[cbCardData_idx].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.analyseitem.cbCardData[cbCardData_idx].cards.length);
				for(int cards_idx=0;cards_idx<this.analyseitem.cbCardData[cbCardData_idx].cards.length;cards_idx++){
			retMsg.writeByte(this.analyseitem.cbCardData[cbCardData_idx].cards[cards_idx]);
				}
			}
				}
			}
			}
			if(this.huapai == null || this.huapai.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapai.length);
				for(int i=0;i<this.huapai.length;i++){
					if(this.huapai[i].cards == null || this.huapai[i].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapai[i].cards.length);
				for(int cards_idx=0;cards_idx<this.huapai[i].cards.length;cards_idx++){
			retMsg.writeByte(this.huapai[i].cards[cards_idx]);
				}
			}
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class AnalyseItem{
		public byte cbCardEye;
		public byte bMagicEye;
		public byte[] cbWeaveKind;
		public byte[] cbCenterCard;
		public CbCardData[] cbCardData;
	}
	public static final class CbCardData{
		public byte[] cards;
	}
	public static final class QzmjPlayerCard{
		public byte[] cards;
	}
	public static final class PushQzmjRoundOver{
		public short[] score;
		public byte[] ZiMo;
		public byte[] JiePao;
		public byte[] DianPao;
		public byte[] MingGang;
		public byte[] AnGang;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1632);
			if(this.score == null || this.score.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.score.length);
				for(int i=0;i<this.score.length;i++){
			retMsg.writeShort(this.score[i]);
				}
			}
			if(this.ZiMo == null || this.ZiMo.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.ZiMo.length);
				for(int i=0;i<this.ZiMo.length;i++){
			retMsg.writeByte(this.ZiMo[i]);
				}
			}
			if(this.JiePao == null || this.JiePao.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.JiePao.length);
				for(int i=0;i<this.JiePao.length;i++){
			retMsg.writeByte(this.JiePao[i]);
				}
			}
			if(this.DianPao == null || this.DianPao.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.DianPao.length);
				for(int i=0;i<this.DianPao.length;i++){
			retMsg.writeByte(this.DianPao[i]);
				}
			}
			if(this.MingGang == null || this.MingGang.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.MingGang.length);
				for(int i=0;i<this.MingGang.length;i++){
			retMsg.writeByte(this.MingGang[i]);
				}
			}
			if(this.AnGang == null || this.AnGang.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.AnGang.length);
				for(int i=0;i<this.AnGang.length;i++){
			retMsg.writeByte(this.AnGang[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjBuHua{
		public byte user_index;
		public byte HuaCard;
		public PushQzmjBuHua(byte pHuaCard,byte puser_index){
			this.HuaCard=pHuaCard;
			this.user_index=puser_index;
		}
		public PushQzmjBuHua(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1634);
			retMsg.writeByte(this.user_index);
			retMsg.writeByte(this.HuaCard);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjMopai{
		public short mopai_index;
		public byte pai;
		public PushQzmjMopai(short pmopai_index,byte ppai){
			this.mopai_index=pmopai_index;
			this.pai=ppai;
		}
		public PushQzmjMopai(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1636);
			retMsg.writeShort(this.mopai_index);
			retMsg.writeByte(this.pai);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjNextRound{
		public static final int id = 1637;

		public static C2SQzmjNextRound parse(RequestMessageRaw request){
			C2SQzmjNextRound retObj = new C2SQzmjNextRound();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class PushQzmjNewGame{
		public byte[] cards;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1638);
			if(this.cards == null || this.cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.cards.length);
				for(int i=0;i<this.cards.length;i++){
			retMsg.writeByte(this.cards[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjSystemVoice{
		public byte voice_index;
		public static final int id = 1639;

		public static C2SQzmjSystemVoice parse(RequestMessageRaw request){
			C2SQzmjSystemVoice retObj = new C2SQzmjSystemVoice();
			try{
			retObj.voice_index=request.readByte();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjSystemVoice{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1640);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjSystemVoice{
		public byte voice_index;
		public byte play_index;
		public PushQzmjSystemVoice(byte pvoice_index,byte pplay_index){
			this.voice_index=pvoice_index;
			this.play_index=pplay_index;
		}
		public PushQzmjSystemVoice(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1642);
			retMsg.writeByte(this.voice_index);
			retMsg.writeByte(this.play_index);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjVoicePlay{
		public ByteBuf content;
		public static final int id = 1643;

		public static C2SQzmjVoicePlay parse(RequestMessageRaw request){
			C2SQzmjVoicePlay retObj = new C2SQzmjVoicePlay();
			try{
			retObj.content=request.readByteArray();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjVoicePlay{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1644);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjVoicePlay{
		public byte player_index;
		public ByteBuf content;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1646);
			retMsg.writeByte(this.player_index);
			retMsg.writeByteArray(this.content);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjUserDoAction{
		public byte action;
		public byte[] card;
		public static final int id = 1647;

		public static C2SQzmjUserDoAction parse(RequestMessageRaw request){
			C2SQzmjUserDoAction retObj = new C2SQzmjUserDoAction();
			try{
			retObj.action=request.readByte();
			int card_size = request.readInt();
				retObj.card = new byte[card_size];
				for(int i=0;i<card_size;i++){
					retObj.card[i]=request.readByte();
				}
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class PushQzmjUserDoAction{
		public byte user_index;
		public byte action;
		public byte[] out_card;
		public byte ProvideUser;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1648);
			retMsg.writeByte(this.user_index);
			retMsg.writeByte(this.action);
			if(this.out_card == null || this.out_card.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.out_card.length);
				for(int i=0;i<this.out_card.length;i++){
			retMsg.writeByte(this.out_card[i]);
				}
			}
			retMsg.writeByte(this.ProvideUser);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjBackRoomHall{
		public static final int id = 1649;

		public static C2SQzmjBackRoomHall parse(RequestMessageRaw request){
			C2SQzmjBackRoomHall retObj = new C2SQzmjBackRoomHall();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjBackRoomHall{
		public S2CQzmjJoinRoom hall_info;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1650);
			if(this.hall_info == null){
				retMsg.writeBool(false);
			}else{
				retMsg.writeBool(true);
					retMsg.writeString(this.hall_info.room_id);
					retMsg.writeShort(this.hall_info.round_count);
					if(this.hall_info.members == null || this.hall_info.members.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.hall_info.members.length);
				for(int members_idx=0;members_idx<this.hall_info.members.length;members_idx++){
					retMsg.writeInt(this.hall_info.members[members_idx].player_id);
					retMsg.writeString(this.hall_info.members[members_idx].name);
					retMsg.writeShort(this.hall_info.members[members_idx].sex);
					retMsg.writeString(this.hall_info.members[members_idx].headimg);
					retMsg.writeInt(this.hall_info.members[members_idx].level);
					retMsg.writeInt(this.hall_info.members[members_idx].jindou);
					retMsg.writeString(this.hall_info.members[members_idx].ip);
				}
			}
					retMsg.writeByte(this.hall_info.sanjindao);
					retMsg.writeByte(this.hall_info.eat_card);
					retMsg.writeByte(this.hall_info.hua_card);
					retMsg.writeByte(this.hall_info.prevent_cheat);
					retMsg.writeInt(this.hall_info.gold_rate);
					retMsg.writeByte(this.hall_info.cost_type);
					if(this.hall_info.ready == null || this.hall_info.ready.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.hall_info.ready.length);
				for(int ready_idx=0;ready_idx<this.hall_info.ready.length;ready_idx++){
			retMsg.writeByte(this.hall_info.ready[ready_idx]);
				}
			}
					retMsg.writeByte(this.hall_info.youjin);
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SQzmjBackRoom{
		public static final int id = 1651;

		public static C2SQzmjBackRoom parse(RequestMessageRaw request){
			C2SQzmjBackRoom retObj = new C2SQzmjBackRoom();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjBackRoom{
		public String room_id;
		public short round_count;
		public short current_round;
		public int create_time;
		public short[] score;
		public byte zhuangjia_index;
		public byte chupaiIndex;
		public short[] kaijinsazi;
		public byte Buhua_num;
		public QzmjMemberInfo[] members;
		public byte[] my_cards;
		public WeaveItems[] playWeaveItem;
		public QzmjHuaPai[] huapais;
		public byte[] PlayerCardsNum;
		public short Card_num;
		public byte god_card;
		public CbCardData[] pushedcards;
		public short bankuser_score;
		public byte action;
		public byte action_card;
		public byte last_play;
		public byte wait_game_start;
		public byte gold_state;
		public byte init_huacount;
		public byte sanjindao;
		public byte eat_card;
		public byte hua_card;
		public byte prevent_cheat;
		public int gold_rate;
		public int[] gold_coin;
		public byte cost_type;
		public byte[] ready;
		public byte youjin;
		public byte canYoujin;
		public byte[] singCardEye;
		public byte votedissPlayer;
		public int votedisstime;
		public byte[] votedissstate;
		public byte[] otheryoujin;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1652);
			retMsg.writeString(this.room_id);
			retMsg.writeShort(this.round_count);
			retMsg.writeShort(this.current_round);
			retMsg.writeInt(this.create_time);
			if(this.score == null || this.score.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.score.length);
				for(int i=0;i<this.score.length;i++){
			retMsg.writeShort(this.score[i]);
				}
			}
			retMsg.writeByte(this.zhuangjia_index);
			retMsg.writeByte(this.chupaiIndex);
			if(this.kaijinsazi == null || this.kaijinsazi.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.kaijinsazi.length);
				for(int i=0;i<this.kaijinsazi.length;i++){
			retMsg.writeShort(this.kaijinsazi[i]);
				}
			}
			retMsg.writeByte(this.Buhua_num);
			if(this.members == null || this.members.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.members.length);
				for(int i=0;i<this.members.length;i++){
					retMsg.writeInt(this.members[i].player_id);
					retMsg.writeString(this.members[i].name);
					retMsg.writeShort(this.members[i].sex);
					retMsg.writeString(this.members[i].headimg);
					retMsg.writeInt(this.members[i].level);
					retMsg.writeInt(this.members[i].jindou);
					retMsg.writeString(this.members[i].ip);
				}
			}
			if(this.my_cards == null || this.my_cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.my_cards.length);
				for(int i=0;i<this.my_cards.length;i++){
			retMsg.writeByte(this.my_cards[i]);
				}
			}
			if(this.playWeaveItem == null || this.playWeaveItem.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.playWeaveItem.length);
				for(int i=0;i<this.playWeaveItem.length;i++){
					if(this.playWeaveItem[i].aplayer_WeaveItem == null || this.playWeaveItem[i].aplayer_WeaveItem.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.playWeaveItem[i].aplayer_WeaveItem.length);
				for(int aplayer_WeaveItem_idx=0;aplayer_WeaveItem_idx<this.playWeaveItem[i].aplayer_WeaveItem.length;aplayer_WeaveItem_idx++){
					retMsg.writeByte(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbWeaveKind);
					retMsg.writeByte(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCenterCard);
					retMsg.writeByte(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbPublicCard);
					retMsg.writeByte(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].wProvideUser);
					if(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCardData == null || this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCardData.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCardData.length);
				for(int cbCardData_idx=0;cbCardData_idx<this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCardData.length;cbCardData_idx++){
			retMsg.writeByte(this.playWeaveItem[i].aplayer_WeaveItem[aplayer_WeaveItem_idx].cbCardData[cbCardData_idx]);
				}
			}
				}
			}
				}
			}
			if(this.huapais == null || this.huapais.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapais.length);
				for(int i=0;i<this.huapais.length;i++){
					if(this.huapais[i].cards == null || this.huapais[i].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.huapais[i].cards.length);
				for(int cards_idx=0;cards_idx<this.huapais[i].cards.length;cards_idx++){
			retMsg.writeByte(this.huapais[i].cards[cards_idx]);
				}
			}
				}
			}
			if(this.PlayerCardsNum == null || this.PlayerCardsNum.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.PlayerCardsNum.length);
				for(int i=0;i<this.PlayerCardsNum.length;i++){
			retMsg.writeByte(this.PlayerCardsNum[i]);
				}
			}
			retMsg.writeShort(this.Card_num);
			retMsg.writeByte(this.god_card);
			if(this.pushedcards == null || this.pushedcards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.pushedcards.length);
				for(int i=0;i<this.pushedcards.length;i++){
					if(this.pushedcards[i].cards == null || this.pushedcards[i].cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.pushedcards[i].cards.length);
				for(int cards_idx=0;cards_idx<this.pushedcards[i].cards.length;cards_idx++){
			retMsg.writeByte(this.pushedcards[i].cards[cards_idx]);
				}
			}
				}
			}
			retMsg.writeShort(this.bankuser_score);
			retMsg.writeByte(this.action);
			retMsg.writeByte(this.action_card);
			retMsg.writeByte(this.last_play);
			retMsg.writeByte(this.wait_game_start);
			retMsg.writeByte(this.gold_state);
			retMsg.writeByte(this.init_huacount);
			retMsg.writeByte(this.sanjindao);
			retMsg.writeByte(this.eat_card);
			retMsg.writeByte(this.hua_card);
			retMsg.writeByte(this.prevent_cheat);
			retMsg.writeInt(this.gold_rate);
			if(this.gold_coin == null || this.gold_coin.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.gold_coin.length);
				for(int i=0;i<this.gold_coin.length;i++){
			retMsg.writeInt(this.gold_coin[i]);
				}
			}
			retMsg.writeByte(this.cost_type);
			if(this.ready == null || this.ready.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.ready.length);
				for(int i=0;i<this.ready.length;i++){
			retMsg.writeByte(this.ready[i]);
				}
			}
			retMsg.writeByte(this.youjin);
			retMsg.writeByte(this.canYoujin);
			if(this.singCardEye == null || this.singCardEye.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.singCardEye.length);
				for(int i=0;i<this.singCardEye.length;i++){
			retMsg.writeByte(this.singCardEye[i]);
				}
			}
			retMsg.writeByte(this.votedissPlayer);
			retMsg.writeInt(this.votedisstime);
			if(this.votedissstate == null || this.votedissstate.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.votedissstate.length);
				for(int i=0;i<this.votedissstate.length;i++){
			retMsg.writeByte(this.votedissstate[i]);
				}
			}
			if(this.otheryoujin == null || this.otheryoujin.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.otheryoujin.length);
				for(int i=0;i<this.otheryoujin.length;i++){
			retMsg.writeByte(this.otheryoujin[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class WeaveItems{
		public WeaveItem[] aplayer_WeaveItem;
	}
	public static final class WeaveItem{
		public byte cbWeaveKind;
		public byte cbCenterCard;
		public byte cbPublicCard;
		public byte wProvideUser;
		public byte[] cbCardData;
	}
	public static final class C2SQzmjReady{
		public static final int id = 1653;

		public static C2SQzmjReady parse(RequestMessageRaw request){
			C2SQzmjReady retObj = new C2SQzmjReady();
			try{
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CQzmjReady{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1654);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjReady{
		public byte player_index;
		public PushQzmjReady(byte pplayer_index){
			this.player_index=pplayer_index;
		}
		public PushQzmjReady(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1656);
			retMsg.writeByte(this.player_index);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjNextRound{
		public byte player_index;
		public PushQzmjNextRound(byte pplayer_index){
			this.player_index=pplayer_index;
		}
		public PushQzmjNextRound(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1658);
			retMsg.writeByte(this.player_index);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjJinState{
		public byte type;
		public byte[] cards;
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1660);
			retMsg.writeByte(this.type);
			if(this.cards == null || this.cards.length == 0){
				retMsg.writeInt(0);
			}else{
				retMsg.writeInt(this.cards.length);
				for(int i=0;i<this.cards.length;i++){
			retMsg.writeByte(this.cards[i]);
				}
			}
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjStatetoALL{
		public byte type;
		public byte index;
		public PushQzmjStatetoALL(byte pindex,byte ptype){
			this.index=pindex;
			this.type=ptype;
		}
		public PushQzmjStatetoALL(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1662);
			retMsg.writeByte(this.type);
			retMsg.writeByte(this.index);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class C2SVoteDissQzmjroom{
		public byte vote;
		public static final int id = 1663;

		public static C2SVoteDissQzmjroom parse(RequestMessageRaw request){
			C2SVoteDissQzmjroom retObj = new C2SVoteDissQzmjroom();
			try{
			retObj.vote=request.readByte();
			}catch(Exception e){e.printStackTrace();}
			return retObj;
		}
	}
	public static final class S2CVoteDissQzmjroom{
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1664);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushVoteDissQzmjroom{
		public byte index;
		public byte result;
		public PushVoteDissQzmjroom(byte presult,byte pindex){
			this.result=presult;
			this.index=pindex;
		}
		public PushVoteDissQzmjroom(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1666);
			retMsg.writeByte(this.index);
			retMsg.writeByte(this.result);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
	public static final class PushQzmjRoomDissmiss{
		public byte index;
		public byte state;
		public PushQzmjRoomDissmiss(byte pindex,byte pstate){
			this.index=pindex;
			this.state=pstate;
		}
		public PushQzmjRoomDissmiss(){}
		public SendToMessageRaw build(ByteBufAllocator alloc){
			try{
			SendToMessageRaw retMsg = new SendToMessageRaw(alloc, 1668);
			retMsg.writeByte(this.index);
			retMsg.writeByte(this.state);
			return retMsg;
			}catch(Exception e){e.printStackTrace();return null;}
		}
	}
}
